Traditional encryption and decryption techniques are often inefficient when it comes to encrypting and decrypting large amounts of data, such as large messages and/or data files. Similarly, traditional encryption techniques that attempt to combine security and authentication are often error prone and/or difficult to implement.
Furthermore, when encrypting large amounts of data it is often impossible to decrypt and/or authenticate only a portion of a larger encrypted data file without accessing the entire date file, or at least all the data up to the desired point. Additionally, traditional encryption techniques are often vulnerable to particular ciphertext attacks, such as an attack that involves analysis of attempts to decrypt a particularly chosen set of encrypted data (e.g., ciphertext).
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning “having the potential to”), rather than the mandatory sense (i.e., meaning “must”). Similarly, the words “include,” “including,” and “includes” mean “including, but not limited to.”